//
//  BSystemAlert.h
//  iphoneLive⁩
//
//  Created by  on 2019/10/14.
//  Copyright © 2019 _ios. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface BSystemAlert : NSObject

/// 展示系统弹框
/// @param title 标题
/// @param message 消息
/// @param userData 用户自定义数据
/// @param cancelTitle 取消按钮标题
/// @param actions 其他按钮
/// @param actionBlock 按钮点击回调
- (void)showAlertWithTitle:(NSString *_Nullable)title
                   message:(NSString *_Nullable)message
                  userData:(_Nullable id)userData
               cancelTitle:(NSString *_Nonnull)cancelTitle
                   actions:(NSArray<NSString *> *_Nonnull)actions
               actionBlock:(void(^)(id userData,NSString *actionTitle))actionBlock;

/// 展示系统弹框
/// @param title 标题
/// @param message 消息
/// @param userData 用户自定义数据
/// @param cancelTitle 取消按钮标题
/// @param cancelColor 取消按钮标题颜色
/// @param actions 其他按钮
/// @param actionBlock 按钮点击回调
- (void)showAlertWithTitle:(NSString *)title
                   message:(NSString *_Nullable)message
                  userData:(_Nullable id)userData
               cancelTitle:(NSString * _Nonnull)cancelTitle
               cancelColor:(UIColor *_Nullable)cancelColor
                   actions:(NSArray<NSString *> *_Nonnull)actions
               actionBlock:(void(^)(id userData,NSString *actionTitle))actionBlock;

/// 展示系统弹框
/// @param title 标题
/// @param message 消息
/// @param userData 用户自定义数据
/// @param cancelTitle 取消按钮标题
/// @param actions 其他按钮
/// @param actionCs 其他按钮标题颜色，若数量小于actions，根据index改变前面几个
/// @param actionBlock 按钮点击回调
- (void)showAlertWithTitle:(NSString *)title
                   message:(NSString *)message
                  userData:(_Nullable id)userData
               cancelTitle:(NSString *)cancelTitle
                   actions:(NSArray<NSString *> *)actions
                  actionCs:(NSArray<UIColor *> *)actionCs
               actionBlock:(void(^)(id userData,NSString *actionTitle))actionBlock;

/// 展示系统弹框
/// @param title 标题
/// @param message 消息
/// @param userData 用户自定义数据
/// @param cancelTitle 取消按钮标题
/// @param actions 其他按钮
/// @param actionBlock 按钮点击回调
- (void)showActionSheetWithTitle:(NSString *)title
                        message:(NSString *_Nullable)message
                       userData:(_Nullable id)userData
                    cancelTitle:(NSString *_Nonnull)cancelTitle
                        actions:(NSArray<NSString *> *_Nonnull)actions
                    actionBlock:(void(^)(id userData,NSString *actionTitle))actionBlock;


+ (instancetype)shared;

@end

NS_ASSUME_NONNULL_END
